package com.qjc.demo.data_structure.linked_list;

/**
 * @ClassName: TraverseLink
 * @Description: 遍历链表的的两种方式：1、线性遍历（迭代）；2、非线性遍历（递归）
 * @Author: qiaojiacheng
 * @Date: 2021/6/29 6:10 下午
 */
public class TraverseLink {

    public static void main(String[] args) {
        LinkedNode head = new LinkedNode(1);
        LinkedNode linkedNode2 = new LinkedNode(2);
        LinkedNode linkedNode3 = new LinkedNode(3);
        LinkedNode linkedNode4 = new LinkedNode(4);
        head.next = linkedNode2;
        linkedNode2.next = linkedNode3;
        linkedNode3.next = linkedNode4;
        linkedNode4.next = null;
        // 迭代遍历
//        for (; head != null; head = head.next) {
//            System.err.println(head.value);
//        }
        // 递归遍历
        getLinkValue(head);

    }

    private static void getLinkValue(LinkedNode head) {
        if (head != null) {
            System.err.println(head.value);
            getLinkValue(head.next);
        }
    }


}
